package com.monkeyboy.binarysearch;

/**
 * 旋转数组的最小数字
 * 题目：
 * 把一个数组最开始的若干个元素搬到数组的末尾，我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转，输出旋转数组的最小元素。
 * 解题思路
 * 二分查找
 *
 * @Author Gavin
 * @date 2021.04.08 09:26
 */
public class search01 {
    public static int solution(int[] nums) {
        if (nums.length <= 0) {
            return nums[0];
        }
        if (nums.length == 1) {
            return nums[1];
        }
        int low = 0;
        int high = nums.length - 1;
        while (low < high) {
            int mid = (low+high) / 2;
            if (nums[mid] <= nums[high]) {
                high = mid;
            } else {
                low = mid + 1;
            }
        }
        return nums[low];
    }

    public static void main(String[] args) {
        int[] nums={3,4,5,1,2,3};
        System.out.println(solution(nums));
        System.out.println(7/2);
    }
}
